iT邦幫忙

2023 iThome 鐵人賽

DAY 28
0

今天要來架設K8s的環境,我用到的是Virtual Box,可以選擇自己習慣的虛擬機管理工具。我的配置如下:
Controller plan:
CPU:2 核心(至少要2,很重要)
RAM:4 GB

Worker Node:
CPU:1 核心
RAM:2 GB

以上

OS都是Ubuntu:
https://ithelp.ithome.com.tw/upload/images/20230828/20139136J9KZ4EFHbU.png
一連串虛擬機架設的步驟就不解釋,我會再參考資料放上我架設時參考的文章。

如果要連網路的話,記得改一下網路
https://ithelp.ithome.com.tw/upload/images/20230828/20139136Dc8LXAr35B.png

上述準備好後,開始今天的重點,接下來的步驟在兩個節點都要做。
1.看ip(ip a)
https://ithelp.ithome.com.tw/upload/images/20230828/20139136AvkR2iMlEq.png
2. 安裝openssh-server

apt-get install openssh-server

可以直接透過ssh 連進去還境會比較好架設,不然一直不能複製指令
3. 修改hostname

sudo nano /etc/hosts

https://ithelp.ithome.com.tw/upload/images/20230828/201391366QsmAEIhvC.png
4. 安裝與啟動Docker

$ sudo apt-get update
$ sudo apt-get install -y docker.io
$ sudo docker version
$ sudo systemctl start docker
$ sudo systemctl enable docker
  1. 建立K8s環境
$ sudo swapoff -a
$ apt-get update && apt-get install -y apt-transport-https curl
$ curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
$ cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb http://apt.kubernetes.io/ kubernetes-xenial main
EOF
$ apt-get update
  1. 安裝 kubernetes 工具(kubelet kubeadm kubectl)
$ version=1.23.20-00
$ echo $version
$ apt-get install -y kubelet=$version kubeadm=$version kubectl=$version

接下來在Control plane 上做

  1. 下載Flannel(CNI)
wget https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml
  1. init Control plane
    因為我CNI要用Flannel,所以這邊pod-network-cidr要設定10.244.0.0/16。
sudo kubeadm init --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address=192.168.1.76
  1. 根據給的三只指令,依序輸入
    https://ithelp.ithome.com.tw/upload/images/20230828/2013913668WoCg1Q5I.png
$ mkdir -p $HOME/.kube
$ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
$ sudo chown $(id -u):$(id -g) $HOME/.kube/config

將最後指令含的token存起來,到worker使用,即可將woker加入集群。
https://ithelp.ithome.com.tw/upload/images/20230828/20139136FBcQwIAn3d.png

回到woker 節點下剛剛拿到的指令

kubeadm join 192.168.1.174:6443 --token tphdt6.7e8bvnj0u9ck506v \
        --discovery-token-ca-cert-hash sha256:4eceb527597be23b51f08573e7c71711483aa2b0e9805dcbae1d87842be8921f

這樣就加入集群成功了
4. apply flannel

kubectl apply -f kube-flannel.yml
  1. 回主節點看看,用kubectl get node
    https://ithelp.ithome.com.tw/upload/images/20230829/20139136SOrSGC75Qx.png

太感動了,終於架好了,今天就先到這了!

參考資料

https://hackmd.io/@SCIST/VirtualBox


上一篇
Kubernetes(K8S)介紹
下一篇
K8s-Pod and Service
系列文
帶著MBP在異世界探險的科技宅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言